home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 007 / cstdio.arc / SRC.ARC / FCLOSE.C < prev    next >
C/C++ Source or Header  |  1985-01-08  |  451b  |  26 lines

  1. /*    fclose.c - close a stream.
  2.     (C) Copyright 1984 Gregory R. Mansfield - All Rights Reserved.
  3.     G. R. Mansfield.  84/06/09.
  4.     Ver 1.3-5108.
  5. */
  6.  
  7. #include <stdio.h>
  8.  
  9. int fclose(fp)    /* close a stream */
  10. FILE *fp;
  11. {
  12.     int q, r;
  13.  
  14.     if (fp->_flag & _WRITE == 0)
  15.         r = EOF;
  16.     else {
  17.         if (((fp->_flag & _UNBUF) == 0) && (fp->_ptr != 0))
  18.             fflush(fp);
  19.         r = 0;
  20.     }
  21.     q = close(fp->_fd);
  22.     fp->_flag = 0;
  23.     fp->_cnt = 0;
  24.     return(r ? r : q);
  25. }
  26.